The operation of software application programs which employ speech recognition or text-to-speech (TTS) features generally requires that the application program interact with engines, typically though not necessarily resident on the platform on which the application program is running, which perform automatic speech recognition (ASR) or TTS functions. This interaction between the application and ASR or TTS engines occurs via application interfaces (APIs) and requires that the application program itself generate the particular calls and protocol required by the APIs. It is desirable to obviate the development effort required to program the low-level interaction between the application program and the ASR or TTS engines, since much of this interaction involves functionalities common across many applications.